package xyz.bali16.module.blog.service;


import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import xyz.bali16.module.blog.utils.PageUtils;
import xyz.bali16.module.blog.entity.Article;
import xyz.bali16.module.blog.model.vo.blog.ArticleConditionVo;

import java.util.List;


public interface ArticleService extends IService<Article> {

	/**
	 * 分页查询
	 *
	 * @param vo
	 * @return
	 */
	List<Article> findByCondition(IPage<Article> page, ArticleConditionVo vo);
	List<Article> findByCondition(ArticleConditionVo vo);
	PageUtils queryPage(Integer curPage, Integer pageSize);
	PageUtils queryPage(ArticleConditionVo vo);

	Integer queryCount();
	/**
	 * 文章链接查询
	 *
	 * @param articleUrl
	 * @return 文章
	 */
	List<Article> findByArticleUrl(String articleUrl);

	/***时间单位上查找文章***/

	/**
	 * 最近文章
	 *
	 * @param pageSize
	 * @return
	 */

//	List<Article> recentList(Integer pageSize);

	/**
	 * 随机文章
	 *
	 * @param pageSize
	 * @return
	 */
	List<Article> randomList(Integer pageSize);

	/**
	 * 热门文章
	 *
	 * @param pageSize
	 * @return
	 */
	List<Article> hotList(Integer pageSize);

	/*******/



	/***统计***/

	/**
	 * 状态统计条数
	 *
	 * @param status
	 *            状态
	 * @param post
	 *            类型
	 * @return
	 */
//	Integer countByStatus(Integer status, String post);

	/**
	 * 统计重复链接
	 *
	 * @param articleUrl
	 *            文章链接
	 * @return
	 */
	Integer findRepeatByUrl(String articleUrl);

	boolean updateStatus(Long id,Integer statusId);

}
